﻿/******************************************************************************
 * 【本类功能概述】                                 					      *
 *  版权所有（C）2020-20XX，                                        *
 *  保留所有权利。                                                            *
 ******************************************************************************
 *  作者 : <hughjk>
 *  创建时间:2019/11/24 23:42:09
 *  文件描述: 
 *****************************************************************************/
using System;
using System.Collections.Generic;
using UnityEngine;
using Util;
 
namespace StateModel
{
    public class SoldierMoveState : SoldierState
    {
  
         SoldierAttackState attackState;
        SoldierIdleState idleState;
        public override void InitModel(Controller controller)
        {
            base.InitModel(controller);
            stateType = StateType.Move;
        }
        public override void GetModel()
        {
            base.GetModel();
            attackState = m_StateManage.Fin<SoldierAttackState>(StateType.Attack);
            idleState = m_StateManage.Fin<SoldierIdleState>(StateType.Idle);


        }
        public override void StrState()
        {
            base.StrState();
            m_input.data.IsTag = true;
        }
        public override void OnUpdata(float dt)
        {
            base.OnUpdata(dt);
           
            if (attackState.IsObj(attackState.m_AlertneScope))//战斗
            { 
                SwitchState(StateType.Attack);
                return;
            }
            if (attackState.IsObj(idleState.m_AlertneScope))//检测范围
            {
            }
            if (m_input.data.IsTag)
            {
                float cx = m_input.data.TagPos.x - m_Pos.x;
                if (cx.toAbs() <0.1f)
                {
                    SwitchState(StateType.Idle);
                }
            }
        }
        public override void EndState()
        {
            base.EndState();
            m_input.data.IsTag = false;
        }
    }
}


